﻿''' <summary>
''' Der boese Meister des Spiels!
''' Der absolut unbesiegbare Verdammt stark.
''' Sollte eigentlich eher nicht verwendet werden.
''' </summary>
''' <remarks></remarks>
Public Class KOLeChiffre
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "LECHIFFRE"
        Armee = Armeen.DM.ToString
        Musik = "Le Chiffre"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 7
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 7
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 7
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 3
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        FesterZusatzschadenUndDeffensive = New Point(10, 10)
        If OhneFunktion = False Then
            BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
            Invasion(New String() {"ART", "FLAK", "JGPZ", "FLAK", "JGPZ"})
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()
        FesterZusatzschadenUndDeffensive = New Point(5, 5)
        Teurungsrate = 0.95#
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
        '   Minenstaerke = 0.1# 'evtl. noch nicht fest.
    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectInvasion(New String() {"ART", "FLAK", "JGPZ", "FLAK", "JGPZ"}))
                Return P
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectInvasion(New String() {"KPZ", "FLAK", "JGPZ", "ART", "JGPZ"}))
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectInvasion(New String() {"K-HELI", "K-HELI"}))
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectMassDamage(3, KOCustom.Power.PowerScript.EffectMassDamage.DamageUnit.Bombs))
                Return P
            Case Else
                Return Nothing
        End Select
    End Function
    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                FesterZusatzschadenUndDeffensive = New Point(10, 10)
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
                    Invasion(New String() {"ART", "FLAK", "JGPZ", "FLAK", "JGPZ"})
                End If
                GabeEingesetzt()
            Case CommanderWarsGameModi.AdvanceWarsDC
                FesterZusatzschadenUndDeffensive = New Point(10, 10)
                If OhneFunktion = False Then
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
                    Invasion(New String() {"ART", "FLAK", "JGPZ", "FLAK", "JGPZ"})
                End If
                GabeEingesetzt()
            Case Else
                FesterZusatzschadenUndDeffensive = New Point(15, 15)
                If OhneFunktion = False Then
                    Bombenregen(3)
                    BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
                    Invasion(New String() {"KPZ", "FLAK", "JGPZ", "ART", "JGPZ", "K-HELI", "K-HELI"})
                End If
                GabeEingesetzt()
        End Select

    End Sub

    Public Overrides Sub KOFrame()

    End Sub
End Class

Public Class KOBeschreibungLeChiffre
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Le Chiffre"
        Fein = "Astronomische Gewinne"
        Nein = "Verluste aller Art"
        Beschreibung = New String() {"Finsterer Gruender von", "Dark Matter Defense Services. Er ist", "der Ursprung aller", "Invasionen seit Sturm.", "Er sieht Krieg als", "Mittel zur Geldgewinnung."}
        Stil = New String() {"Seine Truppen besitzen", "besondere Panzerungen", "und Waffensysteme aus", "seinen Waffenfabriken und", "sind billiger."}
        Gabebeschreibung = New String() {"Eine kleine Armee", "landet und kaempft", "fuer Le Chiffre."}
        SpezialgabeBeschreibung = New String() {"Eine Armee landet", "und kaempft fuer", "Le Chiffre. Ausserdem", "kommt es zu einem", "Bombardement bei dem", "Gegner 3 TP verlieren."}
        GabeKosten = 7
        Spezialgabekosten = 6
        Gaben = New String() {"Bodeninvasion", "Boden-Luft-Invasion"}
        Synergie = New Decimal() {}
        KONamen = New String() {}
        Doppelgabenamen = New String() {}
        Gabesaetze = New String() {"Ich zeige euch, was wahre Macht bedeutet!" _
                                     , "Ich bin das Boese, dass euch zerschmettert!" _
                                     , "Eure Waffen sind der Abfall meiner Fabriken!" _
                                     , "Der Sieg ist mein! Alea iacta est!" _
                                     , "Meine Truppen sind in eurem Ruecken!" _
                                     , "Ich werde der Herrscher der Welt! Geht in die Knie!"}
        Siegsaetze = New String() {"Verluste...Gewinne...der Einsatz hat sich gelohnt." _
                                , "Krieg ist nur ein weiteres Mittel der Geldgewinnung." _
                                , "Mein Sieg war mir sicher. Das Boese kann nicht besiegt werden."}
        Tauschsaetze = New String() {"Ich werde euch aus dem Weg raeumen." _
                                    , "Ich bin das Boese fuerchtet mich."}
        Doppelgabesaetze = New DoppelGabesatz() {}
        Niederlagesaetze = New String() {"Selbst durch eine Niederlage werde ich staerker.", _
                                     "Ich habe verloren, aber ich habe Geld fuer eine neue Armee gewonnen."}
    End Sub
End Class

